1. Field of the Invention
The present invention relates to an image processing apparatus, method, and program related to various techniques for performing edging on a drawn object, including a graphic and a character, and of creating an output image from the drawn object subjected to edging during rendering.
2. Description of the Related Art
Some conventional image processing apparatuses do not embed a drawn object, such as a character, a graphic, or the like, into intermediate code without processing the drawn object, but do extract edges from bitmap data of the drawn object, create edge data by vectorizing the edges, and store the edge data in the intermediate code.
Image processing apparatuses that can perform rendering convert the edge data into output images. This enhances the calculation speed of drawing logic of multiple image objects to improve processing speed.
One such system is, for example, a character recognizing apparatus disclosed in Japanese Patent Laid-Open No. 8-194458. The apparatus shown in this patent document reduces the time required for determining whether or not to perform compression and also compresses only dot data, which has an advantageous effect of compression, to improve efficiency in the use of font cache memory.
However, since the size of compressed character data is smaller than that of edge data, storing data in the form of edge data results in reduced memory efficiency.
In addition, when a memory area for storing intermediate code is fully occupied, it is necessary to delete the intermediate code for all pages after performing rendering on the intermediate code or to free the memory area for storing the intermediate code by temporarily performing rendering on the intermediate code. This processing decreases the processing speed.
A decrease in memory efficiency may cause a decrease in processing speed. In particular, in the case in which creating images from the intermediate code is performed in hardware, when the time for computing drawing logic is sufficiently shorter than that for creating the intermediate code, it is important to avoid processing for improving memory efficiency and for ensuring there is sufficient memory available.
For a technique of performing edging on characters every time in a system in which images are created on the basis of edges, the characters are often used multiple times in the same data. Therefore, this technique decreases printing speed in a system for performing edging every time during rendering. As a result, a system that has no unit to perform edging at high speed suffers from a decrease in the processing speed.
One solution is to enhance the processing speed by incorporating an accelerator for improving a function of performing edging on compressed data and processing capability, but this increases the cost of the overall system.